//package org.example;
//
//import org.example.model.Enum.OrderStatus;
//import org.example.model.ItemList;
//import org.example.model.OrderModification;
//import org.example.model.PoJo.Item;
//import org.example.model.PoJo.Order;
//import org.example.service.serviceImpl.BaseOrderService;
//import org.example.service.serviceImpl.MemoryOrderRepository;
//
//import java.time.LocalDateTime;
//import java.util.ArrayList;
//import java.util.List;
//import java.util.Scanner;
//
//import static org.example.model.ItemList.*;
//
//
//public class Main {
//    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in).useDelimiter("\n");
//        System.out.println("按1查看菜品列表");
//
//        while (!sc.next().equals("1")){
//            System.out.println("请重新输入");
//        }
//        ItemList.setItems();
//
//        ArrayList<Item> stapleFood = ItemList.stapleFood;
//        ArrayList<Item> stapleDrink = ItemList.stapleDrink;
//        ArrayList<Item> stapleCake = ItemList.stapleCake;
//
//
//        userChoose:while (true){
//            List<Item> userList = start();
//            BaseOrderService baseOrderService = new BaseOrderService();
//            Order order = baseOrderService.createOrder(userList, true, LocalDateTime.now());
//            //存储订单
//            MemoryOrderRepository orderRepository = new MemoryOrderRepository();
//            orderRepository.save(order);
//            baseOrderService.cancelOrder(order.getOrderId(), LocalDateTime.now());
//            order:while (true) {
//                System.out.println("1:查看订单信息");
//                System.out.println("2:付款");
//                System.out.println("3:取消");
//                System.out.println("4:修改");
//                System.out.println("0:退出");
//                String userIndex = sc.next();
//                if (userIndex.equals("0")) {
//                    //如果用户点击了退出且没有付款则自动取消订单;
//                    orderRepository.updateStatus(order.getOrderId(), OrderStatus.CANCELLED);
//                    break;
//                } else if (userIndex.equals("1")) {
//                    if (OrderModification.itemUpdate.get(order.getOrderId()) != null){
//                        System.out.println(OrderModification.itemUpdate.get(order.getOrderId()));
//                    }
//                    System.out.println(order.toString());
//                } else if (userIndex.equals("2")) {
//                    orderRepository.updateStatus(order.getOrderId(), OrderStatus.PAID);
//                } else if (userIndex.equals("3")) {
//                    orderRepository.updateStatus(order.getOrderId(), OrderStatus.CANCELLED);
//                } else if (userIndex.equals("4")) {
//
//                    while (true) {
//                        String index = sc.next();
//                        System.out.println("1:整单修改");
//                        System.out.println("2:部分修改");
//                        System.out.println("0:退出");
//
//                        if (index.equals("0")) {
//                            break;
//                        } else if (index.equals("1")) {
//                            baseOrderService.updateOrder(order.getOrderId());
//                            continue userChoose;
//                        } else if (index.equals("2")) {
//                            while (true){
//                                System.out.println("1:添加商品");
//                                System.out.println("2:删除或减少商品");
//                                System.out.println("0:退出");
//                                String userUpdate = sc.next();
//                                if (userUpdate.equals("1")){
//                                    List<Item> addList = start();
//                                    baseOrderService.save(order.getOrderId(), addList, true);
//                                    continue order;
//                                }else if (userUpdate.equals("2")){
//                                    List<Item> removeList = start();
//                                    baseOrderService.remove(order.getOrderId(), true,removeList);
//                                    continue order;
//                                }else if (userUpdate.equals("0")){
//                                    break;
//                                }
//                            }
//                        } else {
//                            System.out.println("没有该选择");
//                        }
//                    }
//                } else {
//                    System.out.println("没有该选择");
//                }
//            }
//        }
//    }
//
//    public static List<Item> start(){
//        Scanner sc = new Scanner(System.in);
//        ArrayList<Item> allList = new ArrayList<>();
//        //主食类
//        System.out.println("主食类");
//        for (Item item : stapleFood) {
//            System.out.println(item.getId() + ":" + item.getName());
//            allList.add(item);
//        }
//        //饮料类
//        System.out.println("饮料类");
//        for (Item item : stapleDrink) {
//            System.out.println(item.getId() + ":" + item.getName());
//            allList.add(item);
//        }
//        //甜品类
//        System.out.println("甜品类");
//        for (Item item : stapleCake) {
//            System.out.println(item.getId() + ":" + item.getName());
//            allList.add(item);
//        }
//
//        ArrayList<Item> userList = new ArrayList<>();
//        while (true){
//            System.out.println("请输入想要购买的美食，如果选择完毕按0推出");
//            String userIndex = sc.next();
//            if (userIndex.equals("0")){
//                break;
//            }
//            for (Item item : allList){
//                if (userIndex.equals(item.getId())){
//                    userList.add(item);
//                }
//            }
//        }
//        return userList;
//    }
//
//}